1. Field of the Invention
The present invention relates to an image forming apparatus, a function adding method, and a computer-readable recording medium, for example, an image forming apparatus including an application platform, a function adding method, and a computer-readable recording medium.
2. Description of the Related Art
In recent years, among the image forming apparatuses referred to as multi-function machines or combination machines, there are image forming apparatuses that have an API (Application Program Interface) of an application platform (hereinafter also simply referred to as “platform”) (See, for example, Japanese Laid-Open Patent Application No. 2008-16013). Many applications are developed on the platform by third-party vendors and the like. The user purchases an application suited for the user's business and the like and installs the suited application in an image forming apparatus (hereinafter also simply referred to as “machine”). Thereby, business efficiency can be achieved.
The platform is prepared with an API designed to fulfill as many needs as possible. However, because the uses of devices by the end-user are becoming more diverse and various applications are provided on a platform, there is demand for changing the platform after the device has been manufactured.
For example, in a case where there is a need to obtain information regarding a device for a newly developed application, the developer of a platform is required to obtain the information of the device for a newly developed application unless the platform has an API for obtaining the information of the device. Thus, the workload for the developer of the platform becomes significantly large whenever such need to obtain information arises. Therefore, the number of steps required for development cannot be reduced.
Theoretically, an API may be implemented to provide information of all devices beforehand. However, in reality, it is difficult to implement an API beforehand for obtaining information of all devices due to the vast amount of information of all of the devices. Further, from the standpoint of development cost, implementing such an API is unrealistic in a case where it is unclear whether the implemented API is going to be used. Moreover, because devices are designed with general purpose device interfaces (e.g., USB (Universal Serial Bus)), it is almost impossible to know beforehand the API regarding control of the apparatus via the device interface.